// 引入 axios
import axios from 'axios'
// 引入router
import router from '@/router/index.js'

// 为请求设置根路径
axios.defaults.baseURL = 'http://www.liulongbin.top:3008'
// 定义请求拦截器
axios.interceptors.request.use(
  function (config) {
    // 判断请求的 url 地址，如果是以 /my 开头的，需要添加 Authorization 请求头
    if (config.url.startsWith('/my')) {
      config.headers.Authorization = localStorage.getItem('token')
    }
    return config
  },
  function (error) {
    return Promise.reject(error)
  }
)

// 定义响应拦截器
axios.interceptors.response.use(
  function (response) {
    // 请求成功时（状态码为 200），触发的回调函数，response 是“成功的结果”
    return response
  },
  function (error) {
    // 请求失败时（状态码不是 200），触发的回调函数，error 是“失败的结果”
    // token 失效
    if (error.response.status === 401) {
      // 清空 token
      localStorage.removeItem('token')
      // 跳转到登录页
      router.push('/login')
    }
    return Promise.reject(error)
  }
)

// 导出 axios
export default axios
